package pattern16;

/**
 * 为不同的聚合对象提供统一的如开始、下一个、最后一个等统一的接口
 * @author wdl
 */
public interface IIterator {
    /**
     * 获取第一个对象
     * @return 第一个对象
     */
    Object first();

    /**
     * 获取下一个对象
     * @return 下一个对象
     */
    Object next();

    /**
     * 是否已经到达聚合对象的结尾
     * @return 是否结尾
     */
    boolean isDone();

    /**
     * 获取当前对象
     * @return 当前对象
     */
    Object currentItem();
}
